Управление сервисом Такси
TaxiManager
Управление сервисом Такси.
class yandex_b2b_go.taxi.TaxiManager
Атрибут
-
TaxiOrderManager — управление заказами в Такси.
order: TaxiOrderManager
TaxiOrderManager
Управление заказами в Такси.
class yandex_b2b_go.taxi.TaxiOrderManager
Атрибуты
-
TaxiActiveOrderManager — управление активными заказами.
active: TaxiActiveOrderManager
-
TaxiOrderRoutestatsManager — управление информацией о предстоящей поездке.
routestats: TaxiOrderRoutestatsManager
-
TaxiOrderFeedbackManager — управление отзывами о поездке.
feedback: TaxiOrderFeedbackManager
-
TaxiOrderDestinationsManager — управление маршрутом поездки.
destinations: TaxiOrderDestinationsManager
-
TaxiOrderStatusManager — управление статусом заказа.
status: TaxiOrderStatusManager
Методы
- get — получает информацию о заказе.
- create — выдает роль менеджеру подразделения.
- list — получает список заказов клиента.
- cancel — отменяет заказ такси.
Get
Получает информацию о заказе.
async def get(
self,
order_id:str
) -> TaxiOrderGetResponse:
Параметр
order_id
— идентификатор заказа, по которому предоставляется информация.
В случае успешного выполнения возвращает класс TaxiOrderGetResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
order_info = await taxi_manager.order.get(
order_id='885...7f2e',
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Create
Выдает роль менеджеру подразделения. Роли, которые могут быть выданы пользователю, можно посмотреть в его Личном кабинете.
async def create(
self,
order: Order,
idempotency_token: uuid.UUID
) -> OrderCreateResponse:
Параметры
order
— данные о заказе. Класс Order.idempotency_token
— токен идемпотентности. Строка формата UUID. Одному токену идемпотентности соответствует один заказ, для нового заказа нужно сгенерировать новый токен.
В случае успешного выполнения возвращает класс OrderCreateResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
import uuid
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
idempotency_token=uuid.uuid4()
order = typing.Order(
user_id='035...c71',
route=[
typing.RotePoint(
fullname='Москва',
geopoint=[37.562394, 55.792993],
),
typing.RotePoint(
fullname='Москва',
geopoint=[37.609479, 55.746943],
),
],
class_tariff='econom',
offer='edd...234',
cost_center_values=[
typing.CostCenter(
id='9af...12a',
title='Цель поездки',
value='по делам',
),
],
)
order_id = await taxi_manager.order.create(order=order, idempotency_token=idempotency_token)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
List
Получает список заказов клиента.
async def list(
self,
limit: Optional[int] = None,
offset: Optional[int] = None,
since_datetime: Optional[str] = None,
till_datetime: Optional[str] = None,
sorting_field: Optional[SortingField] = None,
sorting_direction: Optional[SortingDirection] = None,
) -> TaxiOrderListResponse:
Параметры
limit
— количество выводимых записей. При отсутствии данного параметра возвращается информация о первых 100 записях.offset
— количество пропускаемых записей. При отсутствии данного параметра возвращается информация начиная с первой записи.since_datetime
— начальное время для фильтрации. Формат значений:YYYY-MM-DDThh:mm:ss±hh:mm
.till_datetime
— конечное время для фильтрации. Формат значений:YYYY-MM-DDThh:mm:ss±hh:mm
.sorting_field
— поле, по которому сортируется возвращаемый список заказов. Может принимать значения:due_date
— по дате начала заказа (значение по умолчанию),finished_date
— по дате окончания заказа.sorting_direction
— направление сортировки возвращаемого списка заказов. Может принимать значения: 1 — по возрастанию, -1 — по убыванию (значение по умолчанию).
В случае успешного выполнения возвращает класс TaxiOrderListResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
orders = await taxi_manager.order.list(
limit=5,
offset=0,
sorting_field='due_date',
sorting_direction=1,
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Cancel
Отменяет заказ такси.
async def cancel(
self,
order_id: str,
cancel_state: OrdersCancelRequest
) -> TaxiOrderCancelResponse:
Параметры
order_id
— идентификатор отменяемого заказа.cancel_state
— актуальный статус возможности отмены. Возможные значения:free
,paid
,minimal
. Статус можно получить из запроса Информация о заказе. Класс OrdersCancelRequest.
В случае успешного выполнения возвращает класс TaxiOrderCancelResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
status = await taxi_manager.order.cancel(
order_id='07e4...b2f4',
state=typing.OrdersCancelRequest(
state=typing.TaxiOrderCancelRulesState.free
),
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
TaxiActiveOrderManager
Управление активными заказами.
class yandex_b2b_go.taxi.TaxiActiveOrderManager
Метод
- list — получает список активных заказов со статусами.
List
Получает список активных заказов со статусами.
async def list(
self,
user_id: str
) -> TaxiActiveOrderListResponse:
Параметр
user_id
— идентификатор сотрудника, чьи заказы нужно посмотреть.
В случае успешного выполнения возвращает класс TaxiActiveOrderListResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
active_orders = await taxi_manager.order.active.list(
user_id='0354...3c71',
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
TaxiOrderRoutestatsManager
Управление информацией о предстоящей поездке.
class yandex_b2b_go.taxi.TaxiOrderRoutestatsManager
Метод
- get — возвращает предварительную стоимость поездки для разных тарифов и создает оффер на поездку.
Get
Возвращает предварительную стоимость поездки для разных тарифов и создает оффер на поездку.
async def get(
self,
order: OrderRequest
) -> TaxiOrderRoutestatsGetResponse:
Параметр
order
— данные о заказе. Класс OrderRequest.
В случае успешного выполнения возвращает класс TaxiOrderRoutestatsGetResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
routestats = await taxi_manager.order.routestats.list(
order=typing.OrderRequest(
route=[
[37.593983, 55.738759],
[37.609479, 55.746943],
],
user_id='035...3c71',
),
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
TaxiOrderFeedbackManager
Управление отзывами о поездке.
class yandex_b2b_go.taxi.TaxiOrderFeedbackManager
Метод
- create — публикует отзыв о водителе.
Create
Публикует отзыв о водителе.
async def create(
self,
order_id: str,
feedback: Feedback
) -> TaxiFeedbackCreateResponse:
Параметры
order_id
— идентификатор заказа.feedback
— данные отзыва. Класс Feedback.
В случае успешного выполнения возвращает класс TaxiFeedbackCreateResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
feedback_status = await taxi_manager.order.feedback.create(
order_id='035...3c71',
feedback=typing.Feedback(
rating=5,
msg='хороший водитель',
),
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
TaxiOrderDestinationsManager
Управление маршрутом поездки.
class yandex_b2b_go.taxi.TaxiOrderDestinationsManager
Метод
- update — позволяет изменить точки маршрута, кроме начальной.
Update
Позволяет изменить точки маршрута, кроме начальной.
async def update(
self,
order_id: str,
destinations: TaxiOrderDestinationsUpdateRequest,
) -> TaxiOrderDestinationsUpdateResponse:
Параметры
order_id
— идентификатор заказа, для которого меняется маршрут.destinations
— данные об измененном маршруте. Класс TaxiOrderDestinationsUpdateRequest.
В случае успешного выполнения возвращает класс TaxiOrderDestinationsUpdateResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
changed_destinations = await taxi_manager.order.destinations.update(
order_id='0354...3c71',
destinations=typing.TaxiOrderDestinationsUpdateRequest(
created_time='2022-02-09T22:50:34',
destinations=[
typing.RoutePoint(
geopoint=[37.600296, 55.750379],
fullname='Гоголевский бульвар, 31с1',
),
],
),
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
TaxiOrderStatusManager
Управление статусом заказа.
class yandex_b2b_go.taxi.TaxiOrderStatusManager
Метод
- get — возвращает статус заказа и местонахождение машины, которая была назначена заказу.
Get
Возвращает статус заказа и местонахождение машины, которая была назначена заказу.
async def get(
self,
order_id: str
) -> TaxiOrderStatusGetResponse:
Параметр
order_id
— идентификатор отслеживаемого заказа.
В случае успешного выполнения возвращает класс TaxiOrderStatusGetResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
taxi_manager = TaxiManager(client=client)
try:
order_status = await taxi_manager.order.status.get(
order_id='0354...3c71'
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())